package com.ihg.hiex.entity.session.before.test;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.ihg.hiex.entity.session.Session;
import com.ihg.hiex.entity.session.participator.Type;

/**
 * 
 * @author dan
 *
 */
@Entity
@Table(name = "e_learning")
public class ELearning {
    
    @Id
    @GeneratedValue
    private Long id;
    
    @ManyToOne(fetch = FetchType.LAZY, optional = false)
    private Session session;
    
    /** 参与者类型 */
    @Enumerated(EnumType.STRING)
    private Type type;
    
    /**
     * 参与者ID
     */
    private Long participatorId;
    
    /** 会议时间 */
    private Date meetingTime;
    
    /** 完成状态 */
    @Enumerated(EnumType.STRING)
    private Status status;
    
    /** 总会议数 */
    private int totalAmount;
    
    /** 完成会议数 */
    private int finishAmount;
    
    @Column(name = "is_disabled")
    private boolean disabled;
    
    /**
     * 
     */
    public ELearning() {
        
    }

    /**
     * @return the id
     */
    public Long getId() {
        return id;
    }

    /**
     * @return the session
     */
    public Session getSession() {
        return session;
    }

    /**
     * @return the type
     */
    public Type getType() {
        return type;
    }

    /**
     * @return the participatorId
     */
    public Long getParticipatorId() {
        return participatorId;
    }

    /**
     * @return the meetingTime
     */
    public Date getMeetingTime() {
        return meetingTime;
    }

    /**
     * @return the status
     */
    public Status getStatus() {
        return status;
    }

    /**
     * @return the totalAmount
     */
    public int getTotalAmount() {
        return totalAmount;
    }

    /**
     * @return the finishAmount
     */
    public int getFinishAmount() {
        return finishAmount;
    }

    /**
     * @return the disabled
     */
    public boolean isDisabled() {
        return disabled;
    }

    /**
     * @param id the id to set
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @param session the session to set
     */
    public void setSession(Session session) {
        this.session = session;
    }

    /**
     * @param type the type to set
     */
    public void setType(Type type) {
        this.type = type;
    }

    /**
     * @param participatorId the participatorId to set
     */
    public void setParticipatorId(Long participatorId) {
        this.participatorId = participatorId;
    }

    /**
     * @param meetingTime the meetingTime to set
     */
    public void setMeetingTime(Date meetingTime) {
        this.meetingTime = meetingTime;
    }

    /**
     * @param status the status to set
     */
    public void setStatus(Status status) {
        this.status = status;
    }

    /**
     * @param totalAmount the totalAmount to set
     */
    public void setTotalAmount(int totalAmount) {
        this.totalAmount = totalAmount;
    }

    /**
     * @param finishAmount the finishAmount to set
     */
    public void setFinishAmount(int finishAmount) {
        this.finishAmount = finishAmount;
    }

    /**
     * @param disabled the disabled to set
     */
    public void setDisabled(boolean disabled) {
        this.disabled = disabled;
    }
    
}
